草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

mysql - 使用 LIKE 搜索 GROUP_CONCAT

我有一个SQL查询,它使用GROUP_CONCAT将所有人附加到某个订单。有什么方法可以在GROUP_CONCAT字段内进行搜索吗?SELECTorders.orderID,GROUP_CONCAT(contacts.firstName,"",contacts.lastName)ASattachedContactsFROM(orders)JOINcontactsONorders.contactID=contacts.contactIDGROUPBYorders.orderIDORDERBYorders.orderIDDESC我想添加类似WHEREattachedContactsLIKE

php - Laravel - 带有 join 和 concat 的查询生成器

我试图从users表中提取与users_groups数据透视表中特定组匹配的所有用户。我正在使用来自Cartalyst顺便说一句的Sentry2。这可以让所有用户的名字和姓氏连接起来。User::select(DB::raw('CONCAT(last_name,",",first_name)ASfull_name'),'id')->where('activated','=','1')->orderBy('last_name')->lists('full_name','id');当我尝试将其更改为也过滤不属于特定组的用户时,出现语法错误。User::select(DB::raw('SEL

mysql - Doctrine 2 DQL CONCAT 字段和常量字符串

我的MySQL表中有字段firstname和lastname。为了方便起见,我想在我的Doctrine2实体中添加一个名为full_name的计算列。在普通的旧MySQL中,我会做这样的事情SELECTCONCAT(firstname,"",lastname)ASfull_nameFROMcustomers;但是,连接字段和常量字符串(在本例中为“”)似乎不适用于Doctrine的CONCAT实现。使用以下代码时$repository->createQueryBuilder('customer')->select('CONCAT(customer.firstname,"",custom

mysql - 查询 firebird slow order by/distinct

我对Firebird中的查询速度有疑问。慢在排序和区分。如果我在MySQL中尝试查询,那么他会快一秒。Firebird->1,3sa1,6sMySQL->0,3s到0,4s我们在网络服务器/网站上使用Firebird数据库,因此速度很重要。规范:-Firebird2.5.1或2.5.2(SuperClassic)64位-2,13Ghz(2个处理器)-内存4,00GB我能做什么?我有以下表格:==================================================CREATETABLEARTICLE3_1(IDARTICLEIntegerNOTNULL,ITE

mysql - MySql 中 SUM 和 CONCAT 的奇怪行为

如果我想在MySQL中对特定数字列求和,我会这样做SELECTSUM(MyColumn)FROMMyTableWHERE1;这将返回例如数字100。但我想在总和值前添加一些文本,所以我这样做了SELECTCONCAT('Sumis:',SUM(MyColumn))FROMMyTableWHERE1;但我得到的不是Sumis:100,而是546573743a20343030。这是错误还是功能?我做错了什么?更新SELECTCONCAT('Sumis:',CAST(SUM(MyColumn)ASvarchar(20)))FROMMyTableWHERE1;无法转换为varchar:出现SQ

mysql - 对可排序日期进行分组时,从 group_concat 中选择第一行和最后一行

引用我之前关于groupconcat的问题Mysqlagain,groupbyanddisplayrestofrows我需要从该查询中获取第一天和最后一天例如row3from8,9,10tofirstcollumn8,lastcollumn10row5from21,22,23,24,28,29,30tofirstcollumn21,lastcollumn30row6from17,21,22,23,24,25tofirstcollumn17lastcollumn25SUBSTR(GROUP_CONCAT(DAY),-1)asfl但它给了我最后一个字符,例如,有几行有1个或2个字符1,2,

mysql - 依赖 DISTINCT 的几个字段只能在 MySQL 上工作吗?

我需要一个无需任何更改即可在这三个不同的数据库服务器上运行的查询:MySQL、MSSQL、PostgreSQL。在此查询中,我必须计算具有以下在MySQL上正常工作的表达式的列:COUNT(DISTINCTfield_char,field_int,field_date)AScostumernumdistinct中的字段是不同类型的:field_char=characterfield_int=integerfield_date=datetime表达式在父查询选择中,所以如果我尝试使用子查询方法获得结果,我会遇到这种情况:SELECTt0.description,t0.depnum(sel

使用 Group_Concat 和 Concat 时 MySQL 截断结果

我有以下SQL(我删除了一些选择fi:SELECTnode_revisions.titleAS'Task',node_revisions.bodyAS'Description',Date_format(field_due_date_value,'%e/%c/%Y')AS'DueDate',users.nameAS'UserName',(SELECTGROUP_CONCAT(Concat(CHAR(10),Concat_ws('-',name,From_unixtime(TIMESTAMP,'%e/%c/%Y')),CHAR(10),COMMENT))FROMcommentsWHEREc

mysql - 使用 CONCAT 函数添加到 mysql 列中的现有值?

尝试使用mysql的concat函数将文本添加到mysql中的现有值?所以现有值当前是“john”,函数运行后将是“johnewvalue”我正在尝试向数据库ptb_messages的主题列中的现有文本添加一段文本“:reply”。我正在尝试使用mysql的concat函数来执行此操作,但我从未得到任何结果。$sql=mysql_query("UPDATEptb_messagesSETsubject=CONCATsubject,'newvalue'WHEREid='".$message_id."'");有人可以告诉我一种让它做我想做的事情的方法吗?谢谢。 最

mysql - SELECT * FROM tbl WHERE clm LIKE CONCAT ('%' ,<other sql query LIMIT 1> ,'%' ) - 怎么做?

如何将这两个查询合并为一个?1)这会找到狗(犬)的日文符号:SELECTjapaneseFROMedictWHEREenglishLIKE'dog'LIMIT1;2)这会找到所有带有“狗”(犬)符号的日语单词:SELECTjapaneseFROMedictWHEREjapaneseLIKE'%犬%';3)我无法将这两者合二为一,因为这行不通?!SELECTjapaneseFROMedictWHEREjapaneseLIKECONCAT('%',SELECTjapaneseFROMedictWHEREenglishLIKE'dog'LIMIT1,'%'); 最